{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 9,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "import json\n",
    "import math\n",
    "import requests\n",
    "import ProcessTools.tools as tools\n",
    "import os\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 18,
   "outputs": [],
   "source": [
    "### 需要获取高德地图的key"
   ],
   "metadata": {
    "collapsed": false,
    "pycharm": {
     "name": "#%%\n"
    }
   }
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "outputs": [],
   "source": [
    "key = ['所获取的key']\n",
    "area_code = {'上城区': 330102, '下城区': 330103, '江干区': 330104, '拱墅区': 330105, '西湖区': 330106, '滨江区': 330108,\n",
    "             '萧山区': 330109, '余杭区': 330110, '富阳区': 330111, '临安区': 330112, '桐庐县': 330122, '淳安县': 330127}\n",
    "area_road = {'上城区': [], '下城区': [], '江干区': [], '拱墅区': [], '西湖区': [], '滨江区': [],\n",
    "             '萧山区': [], '余杭区': [], '富阳区': [], '临安区': [], '桐庐县': [], '淳安县': []}\n"
   ],
   "metadata": {
    "collapsed": false,
    "pycharm": {
     "name": "#%%\n"
    }
   }
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "outputs": [],
   "source": [
    "def get_road(area: str, page: int):\n",
    "    data = []   # 保存指定区域的道路名称\n",
    "    parameters = {'key': key[0], 'types': 190301, 'city': area_code[area], 'citylimit': 'true', 'offset': 25,\n",
    "                  'page': page, 'output': 'JSON'}\n",
    "    res = requests.get('https://restapi.amap.com/v3/place/text?', params=parameters)\n",
    "    json_dict = json.loads(res.text)\n",
    "    poi_list = json_dict['pois']\n",
    "    count = json_dict['count']  # 当前区域道路个数\n",
    "    for poi in poi_list:\n",
    "        data.append(poi['name']+ '\\t' + poi['pname'] + '\\t' + poi['cityname'] + '\\t' + poi['adname'])\n",
    "    return count, data\n"
   ],
   "metadata": {
    "collapsed": false,
    "pycharm": {
     "name": "#%%\n"
    }
   }
  },
  {
   "cell_type": "code",
   "execution_count": 15,
   "outputs": [],
   "source": [
    "# count, data = get_road('下城区', 12)\n",
    "# print(\"count : \", count)\n",
    "# print(\"data : \",data)\n",
    "def mymain():\n",
    "    for area in area_code.keys():\n",
    "        print(\"当前区域：%s   当前页数：1\" % area)\n",
    "        count, roads_info = get_road(area, 1)\n",
    "        area_road[area] = roads_info\n",
    "        count = float(count)\n",
    "        total_pages = int(math.ceil(count / 25.0))\n",
    "        for page in range(2, total_pages + 1):\n",
    "            print(\"当前区域: %s  当前页数: %s\" % (area, page))\n",
    "            try:\n",
    "                count, roads_info = get_road(area, page)\n",
    "                area_road[area].extend(roads_info)\n",
    "            except:\n",
    "                print(\"未完成\")\n",
    "                continue\n",
    "    for area, roads_info in area_road.items():\n",
    "        print(\"保存区域%s：\" % area)\n",
    "        current_path = os.getcwd()\n",
    "        tools.saver(roads_info,file_path= current_path+r'\\data\\roads\\{}.txt'.format(area))\n",
    "    print(\"保存完毕！！！\")"
   ],
   "metadata": {
    "collapsed": false,
    "pycharm": {
     "name": "#%%\n"
    }
   }
  },
  {
   "cell_type": "code",
   "execution_count": 17,
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "当前区域：上城区   当前页数：1\n",
      "当前区域: 上城区  当前页数: 2\n",
      "当前区域: 上城区  当前页数: 3\n",
      "当前区域: 上城区  当前页数: 4\n",
      "当前区域: 上城区  当前页数: 5\n",
      "当前区域: 上城区  当前页数: 6\n",
      "当前区域: 上城区  当前页数: 7\n",
      "当前区域: 上城区  当前页数: 8\n",
      "当前区域: 上城区  当前页数: 9\n",
      "当前区域: 上城区  当前页数: 10\n",
      "当前区域: 上城区  当前页数: 11\n",
      "当前区域: 上城区  当前页数: 12\n",
      "当前区域：下城区   当前页数：1\n",
      "当前区域: 下城区  当前页数: 2\n",
      "当前区域: 下城区  当前页数: 3\n",
      "当前区域: 下城区  当前页数: 4\n",
      "当前区域: 下城区  当前页数: 5\n",
      "当前区域: 下城区  当前页数: 6\n",
      "当前区域: 下城区  当前页数: 7\n",
      "当前区域: 下城区  当前页数: 8\n",
      "当前区域: 下城区  当前页数: 9\n",
      "当前区域: 下城区  当前页数: 10\n",
      "当前区域: 下城区  当前页数: 11\n",
      "当前区域: 下城区  当前页数: 12\n",
      "当前区域: 下城区  当前页数: 13\n",
      "当前区域: 下城区  当前页数: 14\n",
      "当前区域: 下城区  当前页数: 15\n",
      "当前区域：江干区   当前页数：1\n",
      "当前区域: 江干区  当前页数: 2\n",
      "当前区域: 江干区  当前页数: 3\n",
      "当前区域: 江干区  当前页数: 4\n",
      "当前区域: 江干区  当前页数: 5\n",
      "当前区域: 江干区  当前页数: 6\n",
      "当前区域: 江干区  当前页数: 7\n",
      "当前区域: 江干区  当前页数: 8\n",
      "当前区域: 江干区  当前页数: 9\n",
      "当前区域: 江干区  当前页数: 10\n",
      "当前区域: 江干区  当前页数: 11\n",
      "当前区域: 江干区  当前页数: 12\n",
      "当前区域: 江干区  当前页数: 13\n",
      "当前区域: 江干区  当前页数: 14\n",
      "当前区域: 江干区  当前页数: 15\n",
      "当前区域: 江干区  当前页数: 16\n",
      "当前区域: 江干区  当前页数: 17\n",
      "当前区域: 江干区  当前页数: 18\n",
      "当前区域: 江干区  当前页数: 19\n",
      "当前区域: 江干区  当前页数: 20\n",
      "当前区域: 江干区  当前页数: 21\n",
      "当前区域: 江干区  当前页数: 22\n",
      "当前区域: 江干区  当前页数: 23\n",
      "当前区域: 江干区  当前页数: 24\n",
      "当前区域: 江干区  当前页数: 25\n",
      "当前区域: 江干区  当前页数: 26\n",
      "当前区域: 江干区  当前页数: 27\n",
      "当前区域: 江干区  当前页数: 28\n",
      "当前区域: 江干区  当前页数: 29\n",
      "当前区域: 江干区  当前页数: 30\n",
      "当前区域：拱墅区   当前页数：1\n",
      "当前区域: 拱墅区  当前页数: 2\n",
      "当前区域: 拱墅区  当前页数: 3\n",
      "当前区域: 拱墅区  当前页数: 4\n",
      "当前区域: 拱墅区  当前页数: 5\n",
      "当前区域: 拱墅区  当前页数: 6\n",
      "当前区域: 拱墅区  当前页数: 7\n",
      "当前区域: 拱墅区  当前页数: 8\n",
      "当前区域: 拱墅区  当前页数: 9\n",
      "当前区域: 拱墅区  当前页数: 10\n",
      "当前区域: 拱墅区  当前页数: 11\n",
      "当前区域: 拱墅区  当前页数: 12\n",
      "当前区域: 拱墅区  当前页数: 13\n",
      "当前区域: 拱墅区  当前页数: 14\n",
      "当前区域: 拱墅区  当前页数: 15\n",
      "当前区域: 拱墅区  当前页数: 16\n",
      "当前区域: 拱墅区  当前页数: 17\n",
      "当前区域：西湖区   当前页数：1\n",
      "当前区域: 西湖区  当前页数: 2\n",
      "当前区域: 西湖区  当前页数: 3\n",
      "当前区域: 西湖区  当前页数: 4\n",
      "当前区域: 西湖区  当前页数: 5\n",
      "当前区域: 西湖区  当前页数: 6\n",
      "当前区域: 西湖区  当前页数: 7\n",
      "当前区域: 西湖区  当前页数: 8\n",
      "当前区域: 西湖区  当前页数: 9\n",
      "当前区域: 西湖区  当前页数: 10\n",
      "当前区域: 西湖区  当前页数: 11\n",
      "当前区域: 西湖区  当前页数: 12\n",
      "当前区域: 西湖区  当前页数: 13\n",
      "当前区域: 西湖区  当前页数: 14\n",
      "当前区域: 西湖区  当前页数: 15\n",
      "当前区域: 西湖区  当前页数: 16\n",
      "当前区域: 西湖区  当前页数: 17\n",
      "当前区域: 西湖区  当前页数: 18\n",
      "当前区域: 西湖区  当前页数: 19\n",
      "当前区域: 西湖区  当前页数: 20\n",
      "当前区域: 西湖区  当前页数: 21\n",
      "当前区域: 西湖区  当前页数: 22\n",
      "当前区域：滨江区   当前页数：1\n",
      "当前区域: 滨江区  当前页数: 2\n",
      "当前区域: 滨江区  当前页数: 3\n",
      "当前区域: 滨江区  当前页数: 4\n",
      "当前区域: 滨江区  当前页数: 5\n",
      "当前区域: 滨江区  当前页数: 6\n",
      "当前区域: 滨江区  当前页数: 7\n",
      "当前区域: 滨江区  当前页数: 8\n",
      "当前区域: 滨江区  当前页数: 9\n",
      "当前区域：萧山区   当前页数：1\n",
      "当前区域: 萧山区  当前页数: 2\n",
      "当前区域: 萧山区  当前页数: 3\n",
      "当前区域: 萧山区  当前页数: 4\n",
      "当前区域: 萧山区  当前页数: 5\n",
      "当前区域: 萧山区  当前页数: 6\n",
      "当前区域: 萧山区  当前页数: 7\n",
      "当前区域: 萧山区  当前页数: 8\n",
      "当前区域: 萧山区  当前页数: 9\n",
      "当前区域: 萧山区  当前页数: 10\n",
      "当前区域: 萧山区  当前页数: 11\n",
      "当前区域: 萧山区  当前页数: 12\n",
      "当前区域: 萧山区  当前页数: 13\n",
      "当前区域: 萧山区  当前页数: 14\n",
      "当前区域: 萧山区  当前页数: 15\n",
      "当前区域: 萧山区  当前页数: 16\n",
      "当前区域: 萧山区  当前页数: 17\n",
      "当前区域: 萧山区  当前页数: 18\n",
      "当前区域: 萧山区  当前页数: 19\n",
      "当前区域: 萧山区  当前页数: 20\n",
      "当前区域: 萧山区  当前页数: 21\n",
      "当前区域: 萧山区  当前页数: 22\n",
      "当前区域: 萧山区  当前页数: 23\n",
      "当前区域: 萧山区  当前页数: 24\n",
      "当前区域: 萧山区  当前页数: 25\n",
      "当前区域: 萧山区  当前页数: 26\n",
      "当前区域: 萧山区  当前页数: 27\n",
      "当前区域: 萧山区  当前页数: 28\n",
      "当前区域: 萧山区  当前页数: 29\n",
      "当前区域: 萧山区  当前页数: 30\n",
      "当前区域: 萧山区  当前页数: 31\n",
      "当前区域: 萧山区  当前页数: 32\n",
      "当前区域: 萧山区  当前页数: 33\n",
      "当前区域: 萧山区  当前页数: 34\n",
      "当前区域: 萧山区  当前页数: 35\n",
      "当前区域: 萧山区  当前页数: 36\n",
      "当前区域：余杭区   当前页数：1\n",
      "当前区域: 余杭区  当前页数: 2\n",
      "当前区域: 余杭区  当前页数: 3\n",
      "当前区域: 余杭区  当前页数: 4\n",
      "当前区域: 余杭区  当前页数: 5\n",
      "当前区域: 余杭区  当前页数: 6\n",
      "当前区域: 余杭区  当前页数: 7\n",
      "当前区域: 余杭区  当前页数: 8\n",
      "当前区域: 余杭区  当前页数: 9\n",
      "当前区域: 余杭区  当前页数: 10\n",
      "当前区域: 余杭区  当前页数: 11\n",
      "当前区域: 余杭区  当前页数: 12\n",
      "当前区域: 余杭区  当前页数: 13\n",
      "当前区域: 余杭区  当前页数: 14\n",
      "当前区域: 余杭区  当前页数: 15\n",
      "当前区域: 余杭区  当前页数: 16\n",
      "当前区域: 余杭区  当前页数: 17\n",
      "当前区域: 余杭区  当前页数: 18\n",
      "当前区域: 余杭区  当前页数: 19\n",
      "当前区域: 余杭区  当前页数: 20\n",
      "当前区域: 余杭区  当前页数: 21\n",
      "当前区域: 余杭区  当前页数: 22\n",
      "当前区域: 余杭区  当前页数: 23\n",
      "当前区域: 余杭区  当前页数: 24\n",
      "当前区域: 余杭区  当前页数: 25\n",
      "当前区域: 余杭区  当前页数: 26\n",
      "当前区域: 余杭区  当前页数: 27\n",
      "当前区域: 余杭区  当前页数: 28\n",
      "当前区域: 余杭区  当前页数: 29\n",
      "当前区域: 余杭区  当前页数: 30\n",
      "当前区域: 余杭区  当前页数: 31\n",
      "当前区域: 余杭区  当前页数: 32\n",
      "当前区域: 余杭区  当前页数: 33\n",
      "当前区域: 余杭区  当前页数: 34\n",
      "当前区域: 余杭区  当前页数: 35\n",
      "当前区域: 余杭区  当前页数: 36\n",
      "当前区域：富阳区   当前页数：1\n",
      "当前区域: 富阳区  当前页数: 2\n",
      "当前区域: 富阳区  当前页数: 3\n",
      "当前区域: 富阳区  当前页数: 4\n",
      "当前区域: 富阳区  当前页数: 5\n",
      "当前区域: 富阳区  当前页数: 6\n",
      "当前区域: 富阳区  当前页数: 7\n",
      "当前区域: 富阳区  当前页数: 8\n",
      "当前区域: 富阳区  当前页数: 9\n",
      "当前区域: 富阳区  当前页数: 10\n",
      "当前区域: 富阳区  当前页数: 11\n",
      "当前区域: 富阳区  当前页数: 12\n",
      "当前区域: 富阳区  当前页数: 13\n",
      "当前区域: 富阳区  当前页数: 14\n",
      "当前区域: 富阳区  当前页数: 15\n",
      "当前区域: 富阳区  当前页数: 16\n",
      "当前区域: 富阳区  当前页数: 17\n",
      "当前区域: 富阳区  当前页数: 18\n",
      "当前区域: 富阳区  当前页数: 19\n",
      "当前区域: 富阳区  当前页数: 20\n",
      "当前区域: 富阳区  当前页数: 21\n",
      "当前区域: 富阳区  当前页数: 22\n",
      "当前区域: 富阳区  当前页数: 23\n",
      "当前区域: 富阳区  当前页数: 24\n",
      "当前区域: 富阳区  当前页数: 25\n",
      "当前区域: 富阳区  当前页数: 26\n",
      "当前区域: 富阳区  当前页数: 27\n",
      "当前区域: 富阳区  当前页数: 28\n",
      "当前区域: 富阳区  当前页数: 29\n",
      "当前区域: 富阳区  当前页数: 30\n",
      "当前区域：临安区   当前页数：1\n",
      "当前区域: 临安区  当前页数: 2\n",
      "当前区域: 临安区  当前页数: 3\n",
      "当前区域: 临安区  当前页数: 4\n",
      "当前区域: 临安区  当前页数: 5\n",
      "当前区域: 临安区  当前页数: 6\n",
      "当前区域: 临安区  当前页数: 7\n",
      "当前区域: 临安区  当前页数: 8\n",
      "当前区域: 临安区  当前页数: 9\n",
      "当前区域: 临安区  当前页数: 10\n",
      "当前区域: 临安区  当前页数: 11\n",
      "当前区域: 临安区  当前页数: 12\n",
      "当前区域: 临安区  当前页数: 13\n",
      "当前区域: 临安区  当前页数: 14\n",
      "当前区域: 临安区  当前页数: 15\n",
      "当前区域: 临安区  当前页数: 16\n",
      "当前区域: 临安区  当前页数: 17\n",
      "当前区域: 临安区  当前页数: 18\n",
      "当前区域: 临安区  当前页数: 19\n",
      "当前区域: 临安区  当前页数: 20\n",
      "当前区域: 临安区  当前页数: 21\n",
      "当前区域: 临安区  当前页数: 22\n",
      "当前区域: 临安区  当前页数: 23\n",
      "当前区域: 临安区  当前页数: 24\n",
      "当前区域: 临安区  当前页数: 25\n",
      "当前区域: 临安区  当前页数: 26\n",
      "当前区域: 临安区  当前页数: 27\n",
      "当前区域: 临安区  当前页数: 28\n",
      "当前区域：桐庐县   当前页数：1\n",
      "当前区域: 桐庐县  当前页数: 2\n",
      "当前区域: 桐庐县  当前页数: 3\n",
      "当前区域: 桐庐县  当前页数: 4\n",
      "当前区域: 桐庐县  当前页数: 5\n",
      "当前区域: 桐庐县  当前页数: 6\n",
      "当前区域: 桐庐县  当前页数: 7\n",
      "当前区域: 桐庐县  当前页数: 8\n",
      "当前区域: 桐庐县  当前页数: 9\n",
      "当前区域: 桐庐县  当前页数: 10\n",
      "当前区域: 桐庐县  当前页数: 11\n",
      "当前区域: 桐庐县  当前页数: 12\n",
      "当前区域: 桐庐县  当前页数: 13\n",
      "当前区域: 桐庐县  当前页数: 14\n",
      "当前区域: 桐庐县  当前页数: 15\n",
      "当前区域: 桐庐县  当前页数: 16\n",
      "当前区域: 桐庐县  当前页数: 17\n",
      "当前区域: 桐庐县  当前页数: 18\n",
      "当前区域: 桐庐县  当前页数: 19\n",
      "当前区域: 桐庐县  当前页数: 20\n",
      "当前区域: 桐庐县  当前页数: 21\n",
      "当前区域：淳安县   当前页数：1\n",
      "当前区域: 淳安县  当前页数: 2\n",
      "当前区域: 淳安县  当前页数: 3\n",
      "当前区域: 淳安县  当前页数: 4\n",
      "当前区域: 淳安县  当前页数: 5\n",
      "当前区域: 淳安县  当前页数: 6\n",
      "当前区域: 淳安县  当前页数: 7\n",
      "当前区域: 淳安县  当前页数: 8\n",
      "当前区域: 淳安县  当前页数: 9\n",
      "当前区域: 淳安县  当前页数: 10\n",
      "当前区域: 淳安县  当前页数: 11\n",
      "当前区域: 淳安县  当前页数: 12\n",
      "当前区域: 淳安县  当前页数: 13\n",
      "当前区域: 淳安县  当前页数: 14\n",
      "当前区域: 淳安县  当前页数: 15\n",
      "当前区域: 淳安县  当前页数: 16\n",
      "当前区域: 淳安县  当前页数: 17\n",
      "当前区域: 淳安县  当前页数: 18\n",
      "当前区域: 淳安县  当前页数: 19\n",
      "保存区域上城区：\n",
      "Total 300 row(s) data has been saved.\n",
      "保存区域下城区：\n",
      "Total 363 row(s) data has been saved.\n",
      "保存区域江干区：\n",
      "Total 733 row(s) data has been saved.\n",
      "保存区域拱墅区：\n",
      "Total 413 row(s) data has been saved.\n",
      "保存区域西湖区：\n",
      "Total 538 row(s) data has been saved.\n",
      "保存区域滨江区：\n",
      "Total 219 row(s) data has been saved.\n",
      "保存区域萧山区：\n",
      "Total 900 row(s) data has been saved.\n",
      "保存区域余杭区：\n",
      "Total 900 row(s) data has been saved.\n",
      "保存区域富阳区：\n",
      "Total 726 row(s) data has been saved.\n",
      "保存区域临安区：\n",
      "Total 687 row(s) data has been saved.\n",
      "保存区域桐庐县：\n",
      "Total 505 row(s) data has been saved.\n",
      "保存区域淳安县：\n",
      "Total 465 row(s) data has been saved.\n",
      "保存完毕！！！\n"
     ]
    }
   ],
   "source": [
    "mymain()\n",
    "\n"
   ],
   "metadata": {
    "collapsed": false,
    "pycharm": {
     "name": "#%%\n"
    }
   }
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "outputs": [],
   "source": [
    "\n"
   ],
   "metadata": {
    "collapsed": false,
    "pycharm": {
     "name": "#%%\n"
    }
   }
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 2
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython2",
   "version": "2.7.6"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 0
}